import type { AsyncDataResult, Dictionary, SortCriteria, Join } from './types'

export default interface IQuery {
  selectOne(table: string, conditions?: Dictionary): AsyncDataResult
  select(table: string, conditions?: Dictionary, limit?: number, offset?: number, orderBy?: SortCriteria[]): AsyncDataResult
  selectJoin(table: string, joins: Join[], conditions?: Dictionary, limit?: number, offset?: number, orderBy?: SortCriteria[]): AsyncDataResult
}